﻿using System;
using System.Collections.Generic;

namespace GianosNET.Common.Classes
{
    [Serializable]
    public class ServiceInfo
    {
        public Guid SvcId { get; private set; }
        public string ServiceName { get; private set; }
        public string Version { get; private set; }
        public string ServiceType { get; private set; }
        public string InstanceName { get; set; }

        public string Gestore { get; private set; }

        public Guid MainLogId { get; private set; }
        public Dictionary<Guid, string> ServiceLogId { get; private set; }
        //public Dictionary<Guid, CommonClientServer.classes.LogQueue> RecentLog { get; private set; }

        public RemotedClass.RemotedClassStatusEnum ServiceStatus { get; private set; }
        public LoopingService.LoopingStateEnum LoopingStatus { get; private set; }
        public int LoopingPause { get; private set; }

        public ServiceInfo(
            Guid svcId, string serviceName, string version, string instanceName, 
            string serviceType, string gestore, 
            Guid mainLogId,
            Dictionary<Guid, string> svcLogId, 
            RemotedClass.RemotedClassStatusEnum serviceStatus,
            LoopingService.LoopingStateEnum loopingStatus,
            int loopingPause
            //Dictionary<Guid, CommonClientServer.classes.LogQueue> recentLog
            )
        {
            SvcId = svcId;
            ServiceName = serviceName;
            Version = version;
            InstanceName = instanceName;
            ServiceType = serviceType;
            this.Gestore = gestore;

            this.MainLogId = mainLogId;
            this.ServiceLogId = svcLogId;
            this.ServiceStatus = serviceStatus;
            this.LoopingStatus = loopingStatus;
            this.LoopingPause = loopingPause;

            //this.RecentLog = recentLog;
        }
    }
}
